package ferran.alcazar.one;

import java.util.Random;

import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class And_pipatijActivity extends Activity {
	/** Called when the activity is first created. */

	int contadorYo;
	int contadorCpu;
	int contadorGanador;
	int contadorPerdedor;
	
	TextView marcadorCPU;
	TextView marcadorYo;
	TextView marcadorGanador;
	TextView marcadorPerdedor;
	int contadorTiradas;
	
	
	
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		setContentView(R.layout.main);
		
		contadorYo = 0;
		contadorCpu = 0;
		contadorTiradas = 0;
		contadorGanador=0;
		contadorPerdedor=0;
		
		
		marcadorYo = (TextView) findViewById(R.id.textView1);
		marcadorCPU = (TextView) findViewById(R.id.textView3);
		marcadorGanador = (TextView) findViewById(R.id.G);
		marcadorPerdedor = (TextView) findViewById(R.id.P);
		
		//marcadorGanador.setText("0");
		//marcadorPerdedor.setText("0");

		

		
		ImageView im = (ImageView) findViewById(R.id.image);
		
		im.setImageResource(R.drawable.question);
	}
	@Override
	public void onResume (){
		super.onResume();
		
		
	}
	
	public int func_random() { //funcion que genera un numero aleatorio entre 1-3
		Random rand = new Random();
		int num = rand.nextInt(3) + 1;
		return num;	
	}

	public void reset() {  //reiniciar partida
		contadorCpu = 0;
		contadorYo = 0;
		//TextView mensaje = (TextView) findViewById(R.id.mensaje);
		ImageView im = (ImageView) findViewById(R.id.image);
		
		marcadorYo.setText(Integer.toString(contadorYo));
		marcadorCPU.setText(Integer.toString(contadorCpu));
		im.setImageResource(R.drawable.question);
		
		//mensaje.setText(getString(R.string.go));
	}

	public void elige(View v) {
		TextView mensaje = (TextView) findViewById(R.id.mensaje);
		ImageView im = (ImageView) findViewById(R.id.image);
		
		int yo = Integer.parseInt(v.getTag().toString());

		int cpu = func_random();
		switch(cpu) {
		case 1: 
			im.setImageResource(R.drawable.stone);	

			break;
		case 2:
			 im.setImageResource(R.drawable.paper);	

			break;
		case 3: 
			 im.setImageResource(R.drawable.scissors);		

			break;
		default:
			 im.setImageResource(R.drawable.scissors);		
			 Log.d(getLocalClassName(), "int cpu = "+cpu+" numero incorrecto");
			break;		
		}

		
		if (cpu == yo) {
			mensaje.setText(getString(R.string.draw));
		} else if ((cpu == 1 && yo == 3) || (cpu == 2 && yo == 1)
				|| (cpu == 3 && yo == 2)) {
			contadorCpu++;
			marcadorCPU.setText(Integer.toString(contadorCpu));		
			contadorTiradas ++;

		}
		else {
			yo = Integer.parseInt(marcadorYo.getText().toString());
			contadorYo++;
			marcadorYo.setText(Integer.toString(contadorYo));
			contadorTiradas ++;
		}
		if (contadorTiradas%5 == 0){
			if (hasganado()){
				marcadorGanador.setText(Integer.toString(++contadorGanador));
				mensaje.setText(getString(R.string.youwin));

			}
			else{
				marcadorPerdedor.setText(Integer.toString(++contadorPerdedor));
				mensaje.setText(getString(R.string.cpuwins));

			}
			
			reset();
		}
	}
	
	public boolean hasganado(){
		if (contadorYo<contadorCpu){
			return false;
		}
		return true;
		
	}
	public void salir(View v) {
		
		int contadorJugadas= contadorGanador+contadorPerdedor;
		dbHelper admin = new dbHelper(this, null, 1); // instanciamos la clase
		// de la bd
		SQLiteDatabase bd = admin.getWritableDatabase(); // metodo para escribir
			// en la bd
		
		Bundle b = getIntent().getExtras();
		ContentValues cv = new ContentValues();
		
		String nombre = (String) b.get("nombre");
		String edad = (String) b.get("edad");
		String pais = (String) b.get("pais");

		
		cv.put("nombre", nombre);
		cv.put("edad", edad);
		cv.put("pais", pais);
		cv.put("partidas_ganadas", contadorGanador);
		cv.put("partidas_jugadas", contadorJugadas);
		bd.insert("Usuarios", null, cv);
		bd.close();

		Toast.makeText(this, "La partida se ha guardado en el registro",
				Toast.LENGTH_SHORT).show();
		Intent intent = new Intent(And_pipatijActivity.this, principal.class);
		And_pipatijActivity.this.startActivity(intent);
	}
}